// File [test/compile_time_constant/main.cpp]

#include <iostream>
#include <alfs/bundled_lib/unique_ptr.hpp>

struct Base { virtual ~Base() {} };
struct Derived: Base {};

namespace alfs {

    namespace bool3 {
        enum Enum { no, maybe, yes };
    }  // bool3

    template< typename T > struct XHasVirtualDestructor
    {
        enum {
            value = alfs::bool3::maybe
        };
    };
}  // alfs

int main()
{
    alfs::hh::unique_ptr<Derived>   p;
    alfs::hh::unique_ptr<Base>      q = move(p);
    std::cout << alfs::XHasVirtualDestructor<Base>::value << std::endl;
    enum{ x = alfs::XHasVirtualDestructor<Base>::value };
    char dummy[alfs::XHasVirtualDestructor<Base>::value];  dummy;
}
